package com.castle.fortress.admin.argFlow.dto;

import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
import java.util.Map;

/**
 * 文档响应DTO
 */
@Data
@Accessors(chain = true)
public class DocumentResponseDTO {
    
    /**
     * 响应码
     */
    private Integer code;
    
    /**
     * 错误消息
     */
    private String message;
    
    /**
     * 响应数据
     */
    private DocumentData data;
    
    @Data
    public static class DocumentData {
        /**
         * 文档列表
         */
        private List<DocumentInfo> docs;
        
        /**
         * 总数
         */
        private Integer total;
    }
    
    @Data
    public static class DocumentInfo {
        /**
         * 文档ID
         */
        private String id;
        
        /**
         * 数据集ID
         */
        private String knowledgebase_id;
        
        /**
         * 文档名称
         */
        private String name;
        
        /**
         * 文档位置
         */
        private String location;
        
        /**
         * 文档大小 (字节)
         */
        private Integer size;
        
        /**
         * 文档类型
         */
        private String type;
        
        /**
         * 分块方法
         */
        private String chunk_method;
        
        /**
         * 解析配置
         */
        private Map<String, Object> parser_config;
        
        /**
         * 源类型
         */
        private String source_type;
        
        /**
         * 分块数量
         */
        private Integer chunk_count;
        
        /**
         * token数量
         */
        private Integer token_count;
        
        /**
         * 创建用户ID
         */
        private String created_by;
        
        /**
         * 创建时间戳
         */
        private Long create_time;
        
        /**
         * 创建日期字符串
         */
        private String create_date;
        
        /**
         * 更新时间戳
         */
        private Long update_time;
        
        /**
         * 更新日期字符串
         */
        private String update_date;
        
        /**
         * 处理开始时间
         */
        private Long process_begin_at;
        
        /**
         * 处理持续时间
         */
        private Double process_duation;
        
        /**
         * 进度
         */
        private Double progress;
        
        /**
         * 进度消息
         */
        private String progress_msg;
        
        /**
         * 运行标识
         */
        private String run;
        
        /**
         * 缩略图路径
         */
        private String thumbnail;
        
        /**
         * 状态
         */
        private String status;
    }
} 